home *** CD-ROM | disk | FTP | other *** search
- // REMEMBER.CPP
- #include <remember.h> ::putimage(where.origin.X, where.origin.Y, image1);
-
- void Remember::getimage(rect where, int width)
- {
- if(image1 != NULL)
- delete image1;
- if(image2 != NULL)
- delete image2;
- if(image3 != NULL)
- delete image3;
- if(image4 != NULL)
- delete image4;
- image1 = image2 = image3 = image4 = NULL;
- int size_vert = imagesize(where.origin.X, where.origin.Y,
- where.origin.X + width, where.corner.Y + 2);
- int size_horiz = imagesize(where.origin.X, where.origin.Y,
- where.corner.X + 2, where.origin.Y + width);
- image1 = malloc(size_vert); // ATTENTION !!! For speed we do not
- // include any verification here
- // rewrite if necessary
- ::getimage(where.origin.X, where.origin.Y,
- where.origin.X + width - 1, where.corner.Y - 1,
- image1);
- image2 = malloc(size_vert);
- ::getimage(where.corner.X - width + 1, where.origin.Y,
- where.corner.X, where.corner.Y, image2);
-
- image3 = malloc(size_horiz);
- ::getimage(where.origin.X, where.origin.Y,
- where.corner.X, where.origin.Y + width - 1, image3);
-
- image4 = malloc(size_horiz);
- ::getimage(where.origin.X, where.corner.Y - width + 1,
- where.corner.X, where.corner.Y, image4);
- }
- /////////////////////////////
- void Remember::putimage(rect where, int width, int put)
- {
- if(image1 != NULL)
- ::putimage(where.origin.X, where.origin.Y, image1, put);
- if(image2 != NULL)
- ::putimage(where.corner.X - width + 1, where.origin.Y, image2, put);
- if(image3 != NULL)
- ::putimage(where.origin.X, where.origin.Y, image3, put);
- if(image4 != NULL)
- ::putimage(where.origin.X, where.corner.Y - width + 1, image4, put);
-
- delete image4;
- delete image3;
- delete image2;
- delete image1;
- image1 = image2 = image3 = image4 = NULL;
- }
- ///////////////////////////
-